package com.app.lzbank.utils;

import cn.hutool.core.date.DateTime;
import cn.hutool.core.date.DateUtil;

import java.text.SimpleDateFormat;

public class DateTimeBankUtils {
    // 使用 ThreadLocal 缓存 DateTimeFormatter，提高性能
    private static final ThreadLocal<SimpleDateFormat> DATE_FORMATTER = ThreadLocal.withInitial(() -> new SimpleDateFormat("yyyyMMdd HH:mm:ss"));

    /**
     * 获取当前时间的字符串表示
     * @return 当前时间（格式：yyyyMMdd HH:mm:ss）
     */
    public static String getCurrentTime() {
        return DATE_FORMATTER.get().format(DateUtil.date());
    }

    /**
     * 获取当前时间加指定分钟数的字符串表示
     * @param minutes 要增加的分钟数
     * @return 当前时间加指定分钟数后的字符串（格式：yyyyMMdd HH:mm:ss）
     */
    public static String getCurrentTimePlusMinutes(int minutes) {
        DateTime now = DateUtil.date();
        DateTime futureTime = now.offset(cn.hutool.core.date.DateField.MINUTE, minutes);
        return DATE_FORMATTER.get().format(futureTime);
    }

    /**
     * 测试方法
     */
    public static void main(String[] args) {
        String currentTime = getCurrentTime();
        System.out.println("当前时间: " + currentTime);

        String timeFiveMinutesLater = getCurrentTimePlusMinutes(5);
        System.out.println("当前时间加5分钟: " + timeFiveMinutesLater);
    }
}